'use strict'

class image {
    constructor() {
        // 拼接到image后的路由
        this.param = '/:name/'
    }


    __mid(){
        return [
          {
            name:'token-verify',
            path:['post']
          }
        ]
      }

    async get(c) {
        //c.param是一个对象，存放解析到的数据，其中的key值是路由参数的名称
        let imgname = c.param.name

        await c.helper.pipe(`${c.service.imagePath}/${imgname}`, c.reply)
    }

    async post(c) {
        //根据name获取文件对象
        let f = c.getFile('image')

        if (!f) {
            return c.status(400).send('image not found')
        }

        //根据传入的原始文件生成唯一文件名，主要使用f.filename的扩展名
        let fname = c.helper.makeName(f.filename)

        //移动文件到指定位置
        await c.moveFile(f, `${c.service.imagePath}/${fname}`)

        c.send(fname)
    }
}

module.exports = image